“Smart” appliances are devices that can connect to a network to communicate with other devices while performing a very specific role, for example, within a home or small office. Smart appliances have some specified basic computing processing intelligence but otherwise lack capability of a full-fledged computing system such as a personal computer, phone or tablet. Examples of smart appliances include refrigerators, dishwashers, washers, dryers, thermostats, digital video recorders, DVD players, and printers. By adding a certain level of intelligence to these devices, smart appliances can be made more effective or more convenient for the user. For example, a smart dishwasher might be able to communicate with a smartphone in the local network so the user can start the dishwasher from anywhere in a house.
Some smart appliances can communicate with devices outside of the local network. A smart appliance may receive software updates from a remote server to perform more effectively or it might receive information that it uses to perform more effectively. For example, a smart thermostat might receive information about the weather from an internet based weather service and use that information to adjust the heat settings of a house. The smart appliance might communicate with a specific server designated by the manufacturer, or it might communicate with third-party web servers via the internet.
However, smart appliances are vulnerable to security breaches that could embed code on the smart appliance that causes it to perform malicious behavior. For example, smart appliances infected with malicious code might be used to perform a Distributed Denial of Service (DDoS) attack on a remote web server or they could be used to send user information to unauthorized recipients. Due to limited access that users have to the functionality of smart appliances, it could be very difficult for a user to determine, on their own, whether a smart appliance is performing malicious behavior. Traditional approaches to protect networked devices from malicious code include anti-virus software installed on computers that monitors processes on the computer to determine if those processes might be exhibiting malicious behavior. Anti-virus software is typically installed on full-fledged computing systems such as personal computers, smartphones and tablets. However, smart appliances do not have the computing intelligence or resources to support anti-virus software and often do not allow users to install additional software onto the smart appliance. Therefore, anti-virus software is ill-suited to protect smart appliances from being infected with malicious code.